package Day_0131.JVM;

/**
 * @author zxc
 * @date 2023/01/31 20:25
 **/
public class Class_lifeCycle {
    public static void main(String[] args) {
        /**
         * 类的生命周期
         * 1.加载
         * 查找并加载类的二进制数据，在Java堆中也创建一个java.lang.Class类的对象
         *
         * 2.连接
         * 连接又包含三块内容：验证、准备、解析。
         * 1）验证，文件格式、元数据、字节码、符号引用验证；
         * 2）准备，为类的静态变量分配内存，并将其初始化为默认值；
         * 3）解析，把类中的符号引用转换为直接引用
         *
         * 3.初始化，为类的静态变量赋予正确的初始值
         *
         * 4.使用，new出对象程序中使用
         *
         * 5.卸载，执行垃圾回收
         * ===》 其中，前三步为类的加载过程;
         */
    }
}
